Portable computing devices such as cellular phones, hand held computers, palm devices, and the like have become increasingly popular in recent years. The technology has advanced to such a degree that people can now access the Internet with wireless technology such as a cellular phone or personal digital assistant (PDA), and can have access to content especially tailored for small portable devices.
With the increased reliance on mobile, pervasive computing, software applications designed to enhance the efficiency, productivity, or comfort of mobile users have evolved. Some of the most popular mobile applications for such wireless devices such as mobile phones or WAP (Wireless Application Protocol) include personal information managers (PIMs), entertainment programs, financial services, and commercial services.
An Increasing number of applications in the field of mobile communications use information related to the position of mobile communication devices. For example, emergency services require the location of the caller. Commercial applications, too, make use of a caller's location in order to determine the services or information to offer. Some applications simply provide the caller with information about the nearest shop, restaurant, or gas station. Other applications are complex, for example billing systems, for differentially charging a user for a service depending on his or her whereabouts.
To provide location-based services to a mobile user, the location of the user must be determined. In the field of mobile telephony, for example, perhaps the most basic information concerning the position of the mobile device is the location of the cell or sector radio mast which is handling the call, which may be, for example, derived from cell or transceiver identification code, or cell-ID. This mast is usually the closest radio mast. Such an estimate can be further refined according to signal strength or direction, if directional antennae are employed. Various alternatives may offer more accuracy, such as triangulation based on directional signals from several masts, or on distance estimates derived from signal strengths, or on transmission times to several masts. Even more accurate position information may be available from the mobile device itself if the mobile device is equipped with a Global Positioning System (GPS) receiver. However, the use of GPS requires additional hardware and software to receive the required signals from the geostationary GPS satellites.
One particularly important type of personal application that has emerged is the electronic calendar, or personal information and time manager. Lotus Organizer™ (Lotus Organizer is a registered trademark of Lotus Development Corporation) is an example of a popular electronic, personal information, and time manager for scheduling appointments, maintaining address lists, managing contacts, tracking to-dos, and more. Lotus Organizer's™ daybook-style user interface makes it easy to use; there are, however, practical and functional limitations to its capabilities.
For example, maintaining updated calendar and agenda schedules requires heavy interactions from the user to enter data. Other electronic calendars exist and also are subject to similar functional limitations, as schedules may either fail to accommodate rules or conditions beyond rudimentary duration requirements or may require significant manual input to handle exceptions or variable conditions. For a mobile user, location is an important factor, in addition to time. A mobile user may schedule tasks that are to be executed at a particular time and place, regularly, or upon the occurrence of other events or under certain environmental conditions. Consequently, the scheduling of daily tasks becomes a more complex matter for a nomadic, mobile user, because convenient times for performing many activities are affected by location-related events or conditions.
Generally speaking, there are two main types of schedules: time-based schedules, which may be periodic or prefixed in time, and rule-based schedules, which may be governed by formulas, algorithms, sensed conditions, and the like. There are also event-driven tasks, which may become active under certain events or conditions.
As a mobile user goes to different places, performs different activities at different locations, and communicates with various remote locations, the scheduling of daily user activities may be affected, and may be modified by the occurrence of many different possible location-related events or conditions. Some events or conditions are deterministic and predictable; most of them, however, even those observable and measurable, are essentially random and unpredictable. In fact, in the course of a day, a mobile user may be subject to independent, predictable deterministic, location dependent events, such as sunrise and sunset times; to events that are unknown by the user, even if these events are programmed in advance, such as the occurrence of a public event in a city; and, perhaps in many more cases, to uncertain or random events, such as traffic jams or other common natural conditions, such as adverse weather.
For example, consider the case of a person arriving late at night to a remote fishing resort. He may wish to wake-up the next day at dawn, say 30 minutes before sunrise, unless the weather is unsuitable for sailing or fishing, in which case he might prefer not to be awakened at this early time in the morning, but instead to sleep until 8:00 a.m. This simple example illustrates how the scheduling of a simple user activity, such as “wake me up tomorrow morning,” may depend on both a predictable physical phenomenon such as the time of sunrise for a particular date and location, and an uncertain phenomenon such as the weather conditions at the user's location. To cope with such uncertainty, mobile users frequently opt for conservative schedules based on the worst case, and frequently adapt or modify already planed schedules. In many cases, these modifications are based on outdated or incomplete knowledge of prevailing events or conditions.
Thus, there is a need to exploit the wireless computing technology more fully, in order to extend the utility of location based services to encompass the opportunistic scheduling of mobile users' activities; there is a need to provide mobile users with the capability of automatically scheduling, depending on particular events or conditions that may occur at the actual user location, tasks for which time schedules have not been yet assigned; and there is a need to provide mobile users with the capability of automatically rescheduling, altering, or canceling previously scheduled tasks, depending on information gathered about the occurrence of certain events or conditions related to the user's location.